home *** CD-ROM | disk | FTP | other *** search
- package com.extensibility.app;
-
- import com.extensibility.rock.RDialog;
- import com.extensibility.rock.RSeparator;
- import com.extensibility.rock.Screen;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dialog;
- import java.awt.Font;
- import java.awt.Frame;
- import java.awt.GridBagConstraints;
- import java.awt.GridBagLayout;
- import java.awt.Window;
- import java.io.File;
- import java.io.IOException;
- import java.util.Vector;
- import javax.swing.BorderFactory;
- import javax.swing.Box;
- import javax.swing.JButton;
- import javax.swing.JCheckBox;
- import javax.swing.JComboBox;
- import javax.swing.JComponent;
- import javax.swing.JDialog;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JTabbedPane;
- import javax.swing.JTextField;
- import javax.swing.border.EmptyBorder;
-
- public class PreferencesDialog extends RDialog {
- Frame parent;
- JLabel lblShowWelcome;
- JLabel lblDebuging;
- JLabel debugDescription;
- JLabel lblDocFont;
- JLabel lblSrcFont;
- JLabel lblFontRestart;
- JButton btnBrowseBrowser;
- JButton btnAccept;
- JButton btnCancel;
- JCheckBox cbShowWelcome;
- JCheckBox cbOnlineHelp;
- JCheckBox cbExternalHelpBrowser;
- JCheckBox cbDebug;
- JComboBox cmbDocFontSize;
- JComboBox cmbDocFontName;
- JComboBox cmbSrcFontSize;
- JComboBox cmbSrcFontName;
- JTextField tfOtherBrowser;
- JTextField tfOpenFromBase;
- JTextField tfSaveToBase;
- JTextField tfSchemaPath;
- JPanel pnlBrowser;
- JPanel pnlOpenFromBase;
- JPanel pnlSaveToBase;
- JPanel pnlMisc;
- ApplicationPreferences preferences;
-
- public PreferencesDialog(JFrame var1, ApplicationPreferences var2) {
- super(var1, true);
- this.parent = var1;
- this.preferences = var2;
- this.prepare();
- }
-
- protected ApplicationPreferences getPreferences() {
- return this.preferences;
- }
-
- public void addNotify() {
- super.addNotify();
- }
-
- protected boolean doOK() {
- this.preferences.updateOnlineHelp(this.cbOnlineHelp.isSelected());
- this.preferences.updateExternalHelpBrowser(this.cbExternalHelpBrowser.isSelected());
- this.preferences.updateShowWelcome(this.cbShowWelcome.isSelected());
- if (this.tfOtherBrowser.getText().length() == 0) {
- this.preferences.updateBrowserPath((String)null);
- } else {
- this.preferences.updateBrowserPath(this.tfOtherBrowser.getText());
- }
-
- this.preferences.updateOpenFromBase(this.tfOpenFromBase.getText());
- this.preferences.updateSaveToBase(this.tfSaveToBase.getText());
- this.preferences.updateSchemaPath(this.tfSchemaPath.getText());
- String var1 = (String)this.cmbDocFontSize.getSelectedItem();
- String var2 = (String)this.cmbDocFontName.getSelectedItem();
- int var3 = var1.equals(UI.getString("dialog.preferences.font.default")) ? -1 : Integer.parseInt(var1);
- String var4 = var1.equals(UI.getString("dialog.preferences.font.default")) ? null : var2;
- this.preferences.updateDocFont(var4, var3);
- var1 = (String)this.cmbSrcFontSize.getSelectedItem();
- var2 = (String)this.cmbSrcFontName.getSelectedItem();
- var3 = var1.equals(UI.getString("dialog.preferences.font.default")) ? -1 : Integer.parseInt(var1);
- var4 = var1.equals(UI.getString("dialog.preferences.font.default")) ? null : var2;
- this.preferences.updateSrcFont(var4, var3);
- if (this.cbDebug.isSelected()) {
- this.preferences.updateDebugLevel(2);
- } else {
- this.preferences.updateDebugLevel(0);
- }
-
- return true;
- }
-
- protected void save() {
- try {
- this.preferences.save();
- } catch (IOException var2) {
- DialogFactory.showException(this, 99, var2);
- }
-
- }
-
- private void prepare() {
- JTabbedPane var1 = new JTabbedPane();
- ((JComponent)var1).setBorder(new EmptyBorder(8, 8, 8, 8));
- this.addTabs(var1);
- this.btnAccept = new JButton(UI.getString("dialog.ok"));
- this.btnAccept.addActionListener(new 1(this));
- this.btnCancel = new JButton(UI.getString("dialog.cancel"));
- this.btnCancel.addActionListener(new 2(this));
- JPanel var2 = new JPanel();
- ((Container)var2).add(this.btnAccept);
- ((Container)var2).add(this.btnCancel);
- ((JDialog)this).getContentPane().add(var1, "Center");
- ((JDialog)this).getContentPane().add(var2, "South");
- ((JDialog)this).setDefaultCloseOperation(1);
- ((Dialog)this).setTitle(UI.getString("dialog.preferences.title"));
- ((Window)this).pack();
- Screen.centerInScreen(this);
- }
-
- protected void addTabs(JTabbedPane var1) {
- var1.add(this.prepareTab(this.getViewOptions()), UI.getString("dialog.preferences.tab.view"));
- var1.add(this.prepareTab(this.getGeneralOptions()), UI.getString("dialog.preferences.tab.general"));
- var1.add(this.prepareTab(this.getPathsOptions()), UI.getString("dialog.preferences.tab.paths"));
- }
-
- protected Vector getViewOptions() {
- Vector var1 = new Vector();
- var1.addElement("dialog.preferences.box.font");
- this.lblDocFont = new JLabel(UI.getString("dialog.preferences.label.doc.fontsize.description"));
- String[] var2 = new String[]{UI.getString("dialog.preferences.font.default"), "9", "10", "11", "12", "14", "16", "18"};
- this.cmbDocFontSize = new JComboBox(var2);
- this.cmbDocFontName = new JComboBox(((Window)this).getToolkit().getFontList());
- this.cmbDocFontName.insertItemAt("Default", 0);
- Font var3 = this.preferences.getDocFont();
- if (var3 != null) {
- this.cmbDocFontSize.setSelectedItem(Integer.toString(var3.getSize()));
- this.cmbDocFontName.setSelectedItem(var3.getName());
- } else {
- this.cmbDocFontSize.setSelectedItem(UI.getString("dialog.preferences.font.default"));
- this.cmbDocFontName.setSelectedItem(UI.getString("dialog.preferences.font.default"));
- }
-
- Box var4 = Box.createHorizontalBox();
- ((Container)var4).add(this.lblDocFont);
- ((Container)var4).add(Box.createHorizontalStrut(5));
- ((Container)var4).add(this.cmbDocFontName);
- ((Container)var4).add(Box.createHorizontalStrut(3));
- ((Container)var4).add(this.cmbDocFontSize);
- this.lblSrcFont = new JLabel(UI.getString("dialog.preferences.label.src.fontsize.description"));
- var2 = new String[]{UI.getString("dialog.preferences.font.default"), "9", "10", "11", "12", "14", "16", "18"};
- this.cmbSrcFontSize = new JComboBox(var2);
- this.cmbSrcFontName = new JComboBox(((Window)this).getToolkit().getFontList());
- this.cmbSrcFontName.insertItemAt("Default", 0);
- Font var5 = this.preferences.getSrcFont();
- if (var5 != null) {
- this.cmbSrcFontSize.setSelectedItem(Integer.toString(var5.getSize()));
- this.cmbSrcFontName.setSelectedItem(var5.getName());
- } else {
- this.cmbSrcFontSize.setSelectedItem(UI.getString("dialog.preferences.font.default"));
- this.cmbSrcFontName.setSelectedItem(UI.getString("dialog.preferences.font.default"));
- }
-
- this.lblFontRestart = new JLabel(UI.getString("dialog.preferences.label.fontsize.requires"));
- this.lblFontRestart.setFont(new Font("Dialog", 0, 10));
- this.lblFontRestart.setAlignmentX(1.0F);
- Box var6 = Box.createHorizontalBox();
- ((Container)var6).add(this.lblSrcFont);
- ((Container)var6).add(Box.createHorizontalStrut(5));
- ((Container)var6).add(this.cmbSrcFontName);
- ((Container)var6).add(Box.createHorizontalStrut(3));
- ((Container)var6).add(this.cmbSrcFontSize);
- Box var7 = Box.createVerticalBox();
- ((Container)var7).add(var4);
- ((Container)var7).add(Box.createVerticalStrut(12));
- ((Container)var7).add(var6);
- ((Container)var7).add(this.lblFontRestart);
- var1.addElement(var7);
- return var1;
- }
-
- protected Vector getPathsOptions() {
- Vector var1 = new Vector();
- var1.addElement("dialog.preferences.panel.browser.title");
- String var2 = this.preferences.getBrowserPath();
- if (var2 == null) {
- var2 = UI.getString("dialog.preferences.otherbrowser.path");
- if (!(new File(var2)).exists()) {
- var2 = "";
- }
- }
-
- this.tfOtherBrowser = new JTextField(var2, 25);
- this.btnBrowseBrowser = new JButton(UI.getString("dialog.preferences.expand"));
- this.btnBrowseBrowser.setFont(new Font("SansSerif", 0, 9));
- this.btnBrowseBrowser.addActionListener(new 3(this));
- Box var3 = Box.createHorizontalBox();
- ((Container)var3).add(this.tfOtherBrowser);
- ((Container)var3).add(Box.createHorizontalStrut(3));
- ((Container)var3).add(this.btnBrowseBrowser);
- var1.addElement(var3);
- var1.addElement("dialog.preferences.panel.openfrombase");
- String var4 = this.preferences.getOpenFromBase();
- if (var4 == null) {
- var4 = "";
- }
-
- this.tfOpenFromBase = new JTextField(var4, 30);
- var1.addElement(this.tfOpenFromBase);
- var1.addElement("dialog.preferences.panel.savetobase");
- String var5 = this.preferences.getSaveToBase();
- if (var5 == null) {
- var5 = "";
- }
-
- this.tfSaveToBase = new JTextField(var5, 30);
- var1.addElement(this.tfSaveToBase);
- var1.addElement("dialog.preferences.panel.schemapath");
- String var6 = this.preferences.getSchemaPath();
- if (var6 == null) {
- var6 = "";
- }
-
- this.tfSchemaPath = new JTextField(var6, 30);
- var1.addElement(this.tfSchemaPath);
- return var1;
- }
-
- protected Vector getGeneralOptions() {
- Vector var1 = new Vector();
- var1.addElement("dialog.preferences.box.help");
- this.cbOnlineHelp = new JCheckBox(UI.getString("dialog.preferences.cb.onlinehelp"));
- this.cbOnlineHelp.setSelected(this.preferences.getOnlineHelp());
- var1.addElement(this.cbOnlineHelp);
- this.cbExternalHelpBrowser = new JCheckBox(UI.getString("dialog.preferences.cb.external.help.browser"));
- this.cbExternalHelpBrowser.setSelected(this.preferences.getExternalHelpBrowser());
- Box var2 = Box.createVerticalBox();
- ((Container)var2).add(this.cbExternalHelpBrowser);
- JLabel var3 = new JLabel(UI.getString("dialog.preferences.cb.external.help.browser.warning"));
- ((JComponent)var3).setFont(new Font("Dialog", 0, 10));
- ((Container)var2).add(var3);
- var1.addElement(var2);
- var1.addElement("dialog.preferences.box.startup");
- this.cbShowWelcome = new JCheckBox(UI.getString("dialog.preferences.cb.showwelcome"));
- this.cbShowWelcome.setSelected(this.preferences.getShowWelcome());
- var1.addElement(this.cbShowWelcome);
- var1.addElement("dialog.preferences.box.support");
- this.cbDebug = new JCheckBox(UI.getString("dialog.preferences.cb.debuging"));
- if (this.preferences.getDebugLevel() > 0) {
- this.cbDebug.setSelected(true);
- }
-
- this.debugDescription = new JLabel(UI.getString("dialog.preferences.label.debuging.description"));
- this.debugDescription.setFont(new Font("Dialog", 0, 10));
- Box var4 = Box.createVerticalBox();
- ((Container)var4).add(this.cbDebug);
- ((Container)var4).add(this.debugDescription);
- var1.addElement(var4);
- return var1;
- }
-
- protected JComponent prepareTab(Vector var1) {
- JPanel var2 = new JPanel(new GridBagLayout());
- GridBagConstraints var3 = new GridBagConstraints();
- var3.gridx = 0;
- var3.gridy = -1;
- var3.weightx = (double)1.0F;
- var3.anchor = 17;
- var3.insets.left = 8;
- var3.insets.right = 8;
- var3.insets.bottom = 4;
- GridBagConstraints var4 = new GridBagConstraints();
- var4.gridx = 0;
- var4.gridy = -1;
- var4.weightx = (double)1.0F;
- var4.anchor = 17;
- var4.insets.left = 8;
- var4.insets.right = 8;
- var4.insets.bottom = 4;
- var4.fill = 2;
- boolean var5 = var1.size() >= 0 && var1.elementAt(0) instanceof String;
- JPanel var6 = null;
- if (var5) {
- var3.insets.top = 8;
- var3.fill = 2;
- }
-
- for(int var7 = 0; var7 < var1.size(); ++var7) {
- Object var8 = var1.elementAt(var7);
- if (var8 instanceof String) {
- if (var6 != null) {
- ((Container)var2).add(var6, var3);
- }
-
- var6 = new JPanel(new GridBagLayout());
- String var9 = (String)var8;
- ((JComponent)var6).setBorder(BorderFactory.createTitledBorder(UI.getString(var9)));
- } else {
- Component var11 = (Component)var8;
- if (var6 == null) {
- boolean var10 = var7 == var1.size() - 1;
- ((Container)var2).add(var11, var3);
- if (!var10) {
- this.addSeparator(var2, var3);
- }
- } else {
- ((Container)var6).add(var11, var4);
- }
- }
- }
-
- if (var6 != null) {
- ((Container)var2).add(var6, var3);
- }
-
- return var2;
- }
-
- protected void addSeparator(JPanel var1, GridBagConstraints var2) {
- var2.insets.right = 8;
- var2.fill = 2;
- ((Container)var1).add(new RSeparator(3), var2);
- var2.insets.right = 0;
- var2.fill = 0;
- }
- }
-